#pragma once

#include "IDBEngine.h"
#include "..\Factory\PersistenceProperty.h"


class AFX_CLASS_EXPORT AbstractDBEngine abstract : public IDBEngine
{
public:
	AbstractDBEngine( CPersistenceProperty pp );
	~AbstractDBEngine();

	virtual EDatabaseType GetDatabaseType() = 0; 
	virtual IDBConnection GetDBConnection() = 0; 

	virtual void Open() = 0; 

	virtual void Close() = 0;


	//////////////////////////////////////////////////////////////////////////
	virtual IDBTransaction BeginTransaction() = 0; 
	virtual int ExecuteNonQuery(CString commandText) = 0; 
	virtual int ExecuteDataset(CString commandText) = 0; 

protected:

private:
};